CRIUS Multiwii Flight Control Board and Multiwii
MWC FC CN-06 GPS Receiver V2.0
MultiwiiFlight Control
BoardのGPSの接続に関するレポートです。
まずパソコンの準備をします。
USBにFTDIを接続、パソコンに認識させてCOMポートの番号を確認しておきます。
Multiwii MWC FC CN-06 GPS Receiver V2.0
はu-bloxのGPSなのでu-center
GPS評価ソフトウェアをDLして
セットアップを実行します。
u-center GPS評価ソフトウェア
デフォルトではボーレート9600、リフレッシュレート1HZになっていますがこの状態でパソコン上で衛星を捕捉するはずです。
室内だと感度が悪いので出来れば野外、室内なら窓際にGPSモジュールを置くと衛星を捕捉しやすいです。
正常に動作していればコールドスタートでも数分でソフトの画面に衛星を捉えた映像が現れます。
GPSの設定をMultiWii
FCの設定(ボーレート115200、リフレッシュレート5HZ)に変更します。
『UBX』→『CFG』→『PRT』を選択します。
プロトコルとボーレートを115200に変更してSENDを押します。
『UBX』→『CFG』→『RATE』を選択します。
200ms
5Hzと入力してSENDを押します。
『UBX』→『CFG』→『CFG』を選択します。
Devicesをすべて選択。
“save
current
configuration”を選択しSENDを押します。
ボーレートとリフレッシュレートについてはデフォルトのボーレート9600、リフレッシュレート1HZでは通信速度が遅すぎます。
ボーレートは最低でも38400以上、ALL
IN ONE PRO Flight Controller V1.1なら好きなボーレートで作動させられます。
Multiwii
MWC SE Flight Control Board V1.0はMultiwii FC I2C-GPS NAV Moduleの関係で
115200でないと通信しません。
リフレッシュレート1HZだとどうなるかと言うと衛星捕捉が遅いためFCの認識がかなり遅くなり
位置情報の更新が遅いのでRTHなどで位置が定まらず機体がフライト中迷走?したりします。
リフレッシュレートは5HZ以上あればMultiWiiのプログラム通りの動作で機体が自動操縦される感じです。
この設定(ボーレート115200、リフレッシュレート5HZ)ができていないとMultiWii
FCとの通信は出来ないので
ちゃんと設定が反映されているかどうかパソコンのFTDI接続、u-center
GPS評価ソフトウェアで確認をしておきます。
リフレッシュレート10HZにすると赤字になってしまいますがさらにデータの速度があがり位置精度が良くなるようです。
さらに一度配線を取り外し電源を切って暫くしてから再接続して設定が維持されているか確認をしておきます。
MultiWii FCにGPSを接続するとPH(ポジションホールド・・・・
GPS座標値を記憶してその場で停止)
RTH(リターントゥホーム・・・・アームした位置まで自動操縦で帰還)などが出来るようになります。
GPSの接続は+ -, TX, RX
の4種類で共通なのでボーレートなどの設定ができればいろいろなGPSをMultiWii FCに接続することができます。
Multiwii MWC FC CN-06 GPS Receiver
V2.0は5V接続なので門題ありませんがGPSの中には3.3V駆動のものもあり
そのようなGPSは当然3.3V電源に接続するようにします。
MultiWii FC別の接続。
シリアルポートから直接接続できるALL IN ONE PRO Flight
Controller とi2C接続のMultiwii MWC SE Flight Control Board
V1.0があります。
i2C接続のボードの場合はMultiwii FC I2C-GPS NAV
ModuleでシリアルのGPSをi2Cに変換してコントロールボードに接続します。
接続は基本通り通信の受け渡しはTX(送信)からRX(受信)ですからGPSは衛星のデータを捕捉して情報を流すTX,送信機、
コントロールボードやMultiwii
FC I2C-GPS NAV
Moduleなどはその情報を受け取るRX,受信機になります。
従ってGPSからの接続はTX、受けるコントロールボードやMultiwii FC I2C-GPS NAV
ModuleのほうはRXに接続します。
コンフィングツールの設定
GPS HOME と GPS
HOLDをAUX1,AUX2などに割り当てます。
このとき加速度センサー(ACC)、気圧センサー(BARO)、磁気センサー(MAG)、の各センサーはオンになるようにします。
FTDIを接続してMultiwii
FCの各センサーを起動させている状態でi2Cエラーは0でなければいけません。
GPSを使用してのコマンドは自動操縦になるので機体の調整がとれていて各センサーが正常に機能していないと
思い通りにならないばかりかとんでもない挙動になり危険です。 MultiWii
FCの良いところは自動操縦になっていても
操舵を割り込ませることが出来る点でRTHで到着点まで間に障害物があったり高度が下がったりしたときマニュアルで
修正舵を割り込ませることでき、その後また自動で制御が続きます。
注意点は機体がホバリングしているとき振動もなくスムーズにプロペラが回転しているか、加速度センサーオンのとき無風状態では
トリムがとれていてその場に留まっているか、加速度センサーオンのときホバリングで左右に振り回してもすぐに水平になりより戻し
(ハンチング)などが発生しないか、気圧センサーオンのとき手放しでのホバリングで上下動が上下1m程度で収まっているか、
磁気センサーオンのとき指示しないかぎりその方位を維持しているか、・・・・などです。
ALL IN ONE PRO
Flight Controller V1.1
の場合このボードはシリアルポートを複数持っているのでMultiwii MWC FC CN-06 GPS Receiver
V2.0
は直接ボードのシリアルポート2(RX2,TX2)に接続することができます。
MultiWii release 2.1の場合ファームの変更部分はこのようになります。
config.h
/**************************************************************************************/
/***********************
GPS
**************************/
/**************************************************************************************/
/* GPS using a SERIAL
port
only available on MEGA boards (this
might be possible on 328 based boards in the
future)
if enabled, define here the
Arduino Serial port number and the UART
speed
note: only the RX PIN is used, the
GPS is not configured by multiwii
the
GPS must be configured to output GGA and RMC NMEA sentences (which is generally
the default conf for most GPS devices)
at least 5Hz update rate. uncomment the first line to select the GPS serial port
of the arduino */
#define
GPS_SERIAL 2 // should be 2 for
flyduino v2. It's the serial port number on arduino MEGA
#define GPS_BAUD 115200
ここのボーレートを接続するGPSの数値に変更することでいろいろなGPSと繋がります。
//#define
GPS_PROMINI_SERIAL 57600 // Will Autosense if GPS is connected
when ardu boots
/* I2C GPS device made
with an independant arduino + GPS device
including some navigation functions
contribution from
EOSBandi
http://code.google.com/p/i2c-gps-nav/
You have to use at least I2CGpsNav code
r33 */
//#define I2C_GPS
/* I2C GPS device made with an indeedent
ATTiny[24]313 + GPS device and
optional sonar
device.
https://github.com/wertarbyte/tiny-gps/
*/
/* get GPS data from Tiny-GPS */
//#define TINY_GPS
/* get sonar data from Tiny-GPS
*/
//#define
TINY_GPS_SONAR
/* indicate a valid GPS fix with at least 5
satellites by flashing the LED? */
#define GPS_LED_INDICATOR
Multiwii MWC SE Flight Control Board
V1.0場合GPSはi2C接続になるのでコントロールボードとGPSの間には
Multiwii FC I2C-GPS NAV Module
を挟む接続になります。
MultiWii release 2.1の場合ファームの変更部分はこのようになります。
config.h
/**************************************************************************************/
/***********************
GPS
**************************/
/**************************************************************************************/
/* GPS using a SERIAL
port
only available on MEGA boards (this
might be possible on 328 based boards in the
future)
if enabled, define here the
Arduino Serial port number and the UART
speed
note: only the RX PIN is used, the
GPS is not configured by multiwii
the
GPS must be configured to output GGA and RMC NMEA sentences (which is generally
the default conf for most GPS devices)
at least 5Hz update rate. uncomment the first line to select the GPS serial port
of the arduino */
//#define GPS_SERIAL 2 // should be 2
for flyduino v2. It's the serial port number on arduino MEGA
#define GPS_BAUD 115200
//#define
GPS_PROMINI_SERIAL 57600 // Will Autosense if GPS is connected
when ardu boots
/* I2C GPS device made
with an independant arduino + GPS device
including some navigation functions
contribution from
EOSBandi
http://code.google.com/p/i2c-gps-nav/
You have to use at least I2CGpsNav code
r33 */
#define
I2C_GPS
/* I2C GPS device made with an indeedent
ATTiny[24]313 + GPS device and
optional sonar
device.
https://github.com/wertarbyte/tiny-gps/
*/
/* get GPS data from Tiny-GPS */
//#define TINY_GPS
/* get sonar data from Tiny-GPS
*/
//#define
TINY_GPS_SONAR
/* indicate a valid GPS fix with at least 5
satellites by flashing the LED? */
#define GPS_LED_INDICATOR
Multiwii MWC SE
Flight Control Board
V0.2はGPSの接続ができませんがリード線を2本ハンダ付けする事により
GPSの接続ができるようになります。
ファームの変更点、接続、設定はMultiwii MWC SE Flight Control Board V1.0と同じです。
GPSを利用したRTHの動画です。
RTHのコマンドは6CHに割り当てていますが機体発見ブザーと同じCHなので
ブザーが鳴っている時がRTHのコマンドで自動制御でアーム地点に向かっている状態です。